#ifndef __FSM_H__
#define __FSM_H__

typedef enum {
	state_1=1,
	state_2,
	state_3
}State_E;

typedef enum{
	event_1=1,
	event_2,
	event_3,
	event_4,
	event_5
}EventID;

typedef void (*CB)(EventID*);

typedef struct {
	State_E curState;
	EventID eventId;
	State_E nextState;
	CB CBfunc;
	CB CBTrigFunc;
}StateTransform;

typedef struct{
	State_E state;
	int transNum;
	StateTransform* p_transform;
}StateMachine_T;


void main_fsm_run(int num);


#endif // __FSM_H__
